<include file="App/Admin/View/Public/left.html"/>
<div id="dcMain">
   <!-- 当前位置 -->
<div id="urHere">DouPHP 管理中心<b>></b><strong>数据备份</strong> </div>   <div class="mainBox" style="height:auto!important;height:550px;min-height:550px;">
    <h3><a href="{:U('Database/import')}" class="actionBtn">恢复备份</a>数据备份</h3>


    <a id="export" class="btn" href="javascript:;" autocomplete="off">立即备份</a>
    <a id="optimize" class="btn" href="{:U('Database/optimize')}">优化表</a>
    <a id="repair" class="btn" href="{:U('Database/repair')}">修复表</a>

    <form id="export-form" method="post" action="{:U('export')}">
    <table width="100%" border="0" cellpadding="8" cellspacing="0" class="tableBasic">
      <thead>
      <tr>
       <th align="center">
        <input class="check-all" checked="chedked" type="checkbox" value="">
       </th>
       <th align="left">表名</th>
       <th align="center">数据量</th>
       <th align="center">数据大小</th>
       <th align="center">创建时间</th>
       <th align="center">备份状态</th>
       <th align="center">操作</th>
      </tr>
    </thead>
    <tbody>
     <volist name="list" id="table">
          <tr>
              <td class="num">
                  <input class="ids" checked="chedked" type="checkbox" name="tables[]" value="{$table.name}">
              </td>
              <td>{$table.name}</td>
              <td>{$table.rows}</td>
              <!-- format_bytes -->
              <td>{$table.data_length}</td>
              <td>{$table.create_time}</td>
              <td class="info">未备份</td>
              <td class="action">
                  <a class="ajax-get no-refresh" href="{:U('Database/optimize?tables='.$table['name'])}">优化表</a>&nbsp;
                  <a class="ajax-get no-refresh" href="{:U('Database/repair?tables='.$table['name'])}">修复表</a>
              </td>
          </tr>
      </volist>     
      
      
     </form>
    </table>
           </div>
 </div>
 <div class="clear"></div>
<include file="App/Admin/View/Public/foot.html"/><!-- dcFooter 结束 -->
<div class="clear"></div> </div>
</body>
</html>
<script type="text/javascript">
    (function($){
        var $form = $("#export-form"), $export = $("#export"), tables
            $optimize = $("#optimize"), $repair = $("#repair");

        $optimize.add($repair).click(function(){
            $.post(this.href, $form.serialize(), function(data){
                if(data.status){
                    alert(data.info,'alert-success');
                } else {
                  alert(data.info,'alert-error');
                }
                setTimeout(function(){
                  $('#top-alert').find('button').click();
                  $(that).removeClass('disabled').prop('disabled',false);
              },1500);
            }, "json");
            return false;
        });

        $export.click(function(){
            $export.parent().children().addClass("disabled");
            $export.html("正在发送备份请求...");
            $.post(
                $form.attr("action"),
                $form.serialize(),
                function(data){
                    if(data.status){
                        tables = data.tables;
                        $export.html(data.info + "开始备份，请不要关闭本页面！");
                        backup(data.tab);
                        window.onbeforeunload = function(){ return "正在备份数据库，请不要关闭！" }
                    } else {
                      alert(data.info,'alert-error');
                        $export.parent().children().removeClass("disabled");
                        $export.html("立即备份");
                        setTimeout(function(){
                          $('#top-alert').find('button').click();
                          $(that).removeClass('disabled').prop('disabled',false);
                      },1500);
                    }
                },
                "json"
            );
            return false;
        });

        function backup(tab, status){
            status && showmsg(tab.id, "开始备份...(0%)");
            $.get($form.attr("action"), tab, function(data){
                if(data.status){
                    showmsg(tab.id, data.info);

                    if(!$.isPlainObject(data.tab)){
                        $export.parent().children().removeClass("disabled");
                        $export.html("备份完成，点击重新备份");
                        window.onbeforeunload = function(){ return null }
                        return;
                    }
                    backup(data.tab, tab.id != data.tab.id);
                } else {
                    alert(data.info,'alert-error');
                    $export.parent().children().removeClass("disabled");
                    $export.html("立即备份");
                    setTimeout(function(){
                      $('#top-alert').find('button').click();
                      $(that).removeClass('disabled').prop('disabled',false);
                  },1500);
                }
            }, "json");

        }

        function showmsg(id, msg){
            $form.find("input[value=" + tables[id] + "]").closest("tr").find(".info").html(msg);
        }
    })(jQuery);
    </script>
     <script>
      ;$(function(){
        //全选的实现
        $(".check-all").click(function(){
          $(".ids").prop("checked", this.checked);
        });
        $(".ids").click(function(){
          var option = $(".ids");
          option.each(function(i){
            if(!this.checked){
              $(".check-all").prop("checked", false);
              return false;
            }else{
              $(".check-all").prop("checked", true);
            }
          });
        });
      
      });
         </script>